Also show the upgrade warning in the services page

Dominik Sander преди 9 години
родител
ревизия
a144c2dae7

+ 23 - 0
app/controllers/application_controller.rb

@@ -13,4 +13,27 @@ class ApplicationController < ActionController::Base
13 13
     devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:login, :username, :email, :password, :remember_me) }
14 14
     devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:username, :email, :password, :password_confirmation, :current_password) }
15 15
   end
16
+
17
+  def upgrade_warning
18
+    return unless current_user
19
+    twitter_oauth_check
20
+    basecamp_auth_check
21
+  end
22
+
23
+  private
24
+  def twitter_oauth_check
25
+    if ENV['TWITTER_OAUTH_KEY'].blank? || ENV['TWITTER_OAUTH_SECRET'].blank?
26
+      if @twitter_agent = current_user.agents.where("type like 'Agents::Twitter%'").first
27
+        @twitter_oauth_key    = @twitter_agent.options['consumer_key'].presence || @twitter_agent.credential('twitter_consumer_key')
28
+        @twitter_oauth_secret = @twitter_agent.options['consumer_secret'].presence || @twitter_agent.credential('twitter_consumer_secret')
29
+      end
30
+    end
31
+  end
32
+
33
+  def basecamp_auth_check
34
+    if ENV['THIRTY_SEVEN_SIGNALS_OAUTH_KEY'].blank? || ENV['THIRTY_SEVEN_SIGNALS_OAUTH_SECRET'].blank?
35
+      @basecamp_agent = current_user.agents.where(type: 'Agents::BasecampAgent').first
36
+    end
37
+  end
38
+
16 39
 end

+ 0 - 22
app/controllers/home_controller.rb

@@ -8,26 +8,4 @@ class HomeController < ApplicationController
8 8
 
9 9
   def about
10 10
   end
11
-
12
-  private
13
-  def upgrade_warning
14
-    return unless current_user
15
-    twitter_oauth_check
16
-    basecamp_auth_check
17
-  end
18
-
19
-  def twitter_oauth_check
20
-    if ENV['TWITTER_OAUTH_KEY'].blank? || ENV['TWITTER_OAUTH_SECRET'].blank?
21
-      if @twitter_agent = current_user.agents.where("type like 'Agents::Twitter%'").first
22
-        @twitter_oauth_key    = @twitter_agent.options['consumer_key'].presence || @twitter_agent.credential('twitter_consumer_key')
23
-        @twitter_oauth_secret = @twitter_agent.options['consumer_secret'].presence || @twitter_agent.credential('twitter_consumer_secret')
24
-      end
25
-    end
26
-  end
27
-
28
-  def basecamp_auth_check
29
-    if ENV['THIRTY_SEVEN_SIGNALS_OAUTH_KEY'].blank? || ENV['THIRTY_SEVEN_SIGNALS_OAUTH_SECRET'].blank?
30
-      @basecamp_agent = current_user.agents.where(type: 'Agents::BasecampAgent').first
31
-    end
32
-  end
33 11
 end

+ 2 - 0
app/controllers/services_controller.rb

@@ -1,4 +1,6 @@
1 1
 class ServicesController < ApplicationController
2
+  before_filter :upgrade_warning, only: :index
3
+
2 4
   def index
3 5
     @services = current_user.services.page(params[:page])
4 6
 

+ 2 - 0
app/views/home/_upgrade_warning.html.erb

@@ -12,6 +12,8 @@
12 12
 TWITTER_OAUTH_KEY=<%= @twitter_oauth_key %>
13 13
 TWITTER_OAUTH_SECRET=<%= @twitter_oauth_secret %>
14 14
         </pre>
15
+        To authenticate new accounts with your twitter OAuth application you need to log in the to <a href="https://apps.twitter.com/" target="_blank">twitter application management page</a> and set the callback URL of your application to "http<%= ENV['FORCE_SSL'] == 'true' ? 's' : '' %>://<%= ENV['DOMAIN'] %>/auth/twitter/callback".
16
+
15 17
       </p>
16 18
     <% end %>
17 19
     <% if @basecamp_agent %>

+ 0 - 1
app/views/home/index.html.erb

@@ -1,5 +1,4 @@
1 1
 <% if user_signed_in? %>
2
-  <%= render "upgrade_warning" %>
3 2
   <%= render "signed_in_index" %>
4 3
 <% else %>
5 4
   <%= render "signed_out_index" %>

+ 4 - 1
app/views/layouts/application.html.erb

@@ -24,7 +24,10 @@
24 24
           <%= render 'layouts/messages' %>
25 25
         </div>
26 26
       </div>
27
-      
27
+      <% if user_signed_in? %>
28
+        <%= render "upgrade_warning" %>
29
+      <% end %>
30
+
28 31
       <%= yield %>
29 32
       
30 33
     </div>

+ 2 - 0
db/migrate/20140525150140_migrate_agents_to_service_authentication.rb

@@ -35,6 +35,8 @@ class MigrateAgentsToServiceAuthentication < ActiveRecord::Migration
35 35
         TWITTER_OAUTH_KEY=#{twitter_consumer_key(agents.first)}
36 36
         TWITTER_OAUTH_SECRET=#{twitter_consumer_secret(agents.first)}
37 37
 
38
+        To authenticate new accounts with your twitter OAuth application you need to log in the to twitter application management page (https://apps.twitter.com/)
39
+        and set the callback URL of your application to "http#{ENV['FORCE_SSL'] == 'true' ? 's' : ''}://#{ENV['DOMAIN']}/auth/twitter/callback"
38 40
 
39 41
       EOF
40 42
       migrated = true